草庐IT

MyBatis 动态SQL

全部标签

c# - 带有 Attach() 的 LINQ To SQL 异常 : Cannot add an entity with a key that is already in use

考虑这个典型的断开连接的场景:使用LINQToSQL从SQLServer加载客户对象用户编辑实体,表示层发回修改后的实体。数据层,使用L2S,必须将更改发送到SQLServer考虑这个LINQToSQL查询,其目的是获取客户实体。CustcustOrig=db.Custs.SingleOrDefault(o=>o.ID==c.ID);//gettheoriginaldb.Custs.Attach(c,custOrig);//wedon'thaveaTimeStamp=Truepropertydb.SubmitChanges();DuplicateKeyException:Cannota

c# - 基于当前用户的 "Role"动态构建 ASP.NET MVC 母版页菜单

我见过一些类似的问题,但没有一个看起来像我想要做的。这是我当前的实现,没有任何安全措施:这很好,上面的工作。我在CController和DController的Actions上设置了[Authorize]Attributes以防止未经授权的访问-但我想从没有正确角色的用户的菜单中删除这些项目,因为当他们看到它并单击在上面,它告诉他们他们没有权限,他们会想要它。如果他们不知道它在那里,那对每个相关人员都更好...像这样的东西最终是我试图达到的目标,但我正在寻找更多MVC风格的方法,其中“View”是“愚蠢的”: 最佳答案 我做过这样的

c# - 如何将动态数据写入 MVC 3 Razor 中的页面布局?

我有带Razor引擎的MVC3C#项目。将动态数据写入_Layout.cshtml的方法和最佳实践是什么?例如,也许我想在我网站的右上角显示用户名,并且该名称来自Session、DB或基于用户登录的任何内容。更新:我也在寻找将某些数据呈现到布局元素中的良好做法。例如,如果我需要根据登录用户的凭据呈现特定的CSS文件。(对于上面的例子,我想到了使用UrlHelpers。) 最佳答案 VisualStudio创建的默认Internet应用程序使用_LogOnPartial.cshtml来执行此操作。用户名值在HomeController

c# - 如何使用 C#、Entity Framework 和 SQL Server 2008 读取/写入地理数据?

我有一个表单,用户可以从中输入map上某个点的纬度和经度。数据将作为字符串值输入。我做了一些研究,并从各种来源发现EntityFramework不支持地理数据类型。如何解析字符串数据和/或将其保存到数据库中的地理列?存储后如何访问它并将其重新解析为字符串?提前致谢! 最佳答案 事实上,.NETFramework4.5附带的EntityFramework5组件确实支持空间类型。看看这个walkthrough.编辑使用EF6,您可以在.NETFramework4和.NETFramework4.5上使用空间类型

c# - 在 .NET 中动态更改 HttpClient.Timeout

我需要在发出请求后更改HttpClient.Timeout属性。当我尝试时,出现异常:Thisinstancehasalreadystartedoneormorerequests.Propertiescanonlybemodifiedbeforesendingthefirstrequest.有什么办法可以避免这种情况吗? 最佳答案 要改变这一点,您无能为力。这只是HttpClient实现中的默认行为。TheTimeoutpropertymustbesetbeforetheGetRequestStreamorGetResponseme

c# - 在 SSIS 的脚本任务中连接到 SQL 数据库

在SSIS的脚本任务中,我需要调用SQL数据库。我有一个连接字符串,它是在我将数据库添加到数据源文件夹时创建的,但是现在我不确定如何在C#代码中引用它。我知道如何在ASP网站的代码后面执行此操作,但似乎SSIS应该有更直接的方法。编辑这行代码最终会抛出一个异常:sqlConn=(System.Data.SqlClient.SqlConnection)cm.AcquireConnection(Dts.Transaction);它显示:“无法将‘System._ComObject’类型的COM对象转换为类类型‘System.Data.SqlClient.SqlConection。’”

c# - 构建动态 LINQ 表达式时如何检测 IsNull/NotNull?

我正在构建稍后计算的动态LINQ表达式。因此,例如,如果我想知道某个属性是否等于某个值,我会这样做://MemberExpressionproperty;//int?val;Expression.Equal(property,Expression.Constant(val))但是,我似乎找不到检测val是否为Null或NOTNull的方法。有人可以向我推荐该怎么做吗?我试过这个:Expression.Equal(property,Expression.Constant(null,property.Type));但显然,那是行不通的。 最佳答案

c# - SQL:指定的转换无效

注意:我正在寻找发生这种情况的原因以及解决方法,而不是寻找解决方法。这似乎是服务器(SQLServer或连接字符串)问题。我有一个连接到sql2008数据库(数据库A)的程序,我有运行的内联sql,它返回了整数和字符串,并且工作正常。但是我被要求切换到另一个2008数据库(数据库B),现在所有内容都以字符串形式返回,并且我从C#获得指定的强制转换无效,当我连接到sql2008(数据库A)时,它不说这个。这是一个内联sql语句,所以sql语句没有改变,数据库的表模式是一样的。它在int主键上执行此操作任何人有任何想法吗?我最初认为这是2000年到2008年的问题,但现在我也遇到了2008

c# - Entity Framework - SQL Azure 重试策略

谁能指导我如何使用EF对SQLAzure实现重试策略。 最佳答案 我正在使用TransietFaultHandlingFramework,由于EF团队提供了更好的解决方案。将上面链接中的二进制文件或项目添加到您的解决方案,并添加对您的项目的引用。使用合适的参数实例化重试策略:varretryPolicy=newRetryPolicy(10,TimeSpan.FromSeconds(0.5),TimeSpan.FromSeconds(2)){FastFirstRetry=true};对context上的任何原子工作使用您的重试策略对象

c# - LINQ 在 SQL 语句中生成额外的 IS NULL 条件

我正在编写一些LINQ来根据电子邮件获取记录,但是,生成的SQL包含一个额外的ISNULL条件,它不需要存在,因为我正在检查参数值在将条件添加到查询之前在代码中为null。我的LINQ代码是:if(email!=null){query=query.Where(r=>r.Email==email);}由此产生的SQL条件为:(([Extent1].[Email]=@p__linq__0)OR(([Extent1].[Email]ISNULL)AND(@p__linq__0ISNULL)))(([Extent1].[Email]ISNULL)AND(@p__linq__0ISNULL))就